8957. Вывести массив 5

 

Задан массив из n целых чисел.  Выведите только его четные элементы, изменив первоначальный порядок на противоположный.

 

Вход. Первая строка содержит число n (1 ≤ n ≤ 100). Во второй строке записаны n целых чисел, каждое из которых не превышает по модулю 100.

 

Выход. В первой строке выведите количество четных элементов массива. Во второй строке выведите сами четные элементы в обратном порядке. Если четных элементов в массиве нет, то выведите ”NO”.

 

Пример входа

Пример выхода

7

-2 5 4 -3 7 -1 0

3

0 4 -2

 

 

РЕШЕНИЕ

массив

 

Анализ алгоритма

Читаем входную последовательность в массив. Подсчитываем количество четных чисел. Если оно равно 0, то выводим “NO”. Иначе выводим количество четных чисел и сами числа в обратном порядке.

 

Реализация алгоритма

Объявим массив для хранения последовательности.

 

int m[101];

 

Читаем входную последовательность в массив.

 

scanf("%d", &n);

for (i = 0; i < n; i++)

  scanf("%d", &m[i]);

 

В переменной cnt подсчитаем количество четных чисел.

 

cnt = 0;

for (i = 0; i < n; i++)

  if (m[i] % 2 == 0) cnt++;

 

Если четных чисел нет, то выводим “NO”.

 

if (cnt == 0)

  printf("NO\n");

else

{

 

Выводим количество четных чисел.

 

  printf("%d\n", cnt);

 

Выводим четные числа в обратном порядке.

 

  for (i = n - 1; i >= 0; i--)

    if (m[i] % 2 == 0) printf("%d ", m[i]);

  printf("\n");

}